shell script [shell script] while 문 while문은 뒤에 나오는 조건문이 참이면 do~done 사이의 명령어를 실행하는 반복문입니다. while 문에 여러 명령을 사용할 수도 있습니다. 가장 마지막 명령이 반복이 종료하기 위해 검사하는 조건문입니다. 출력을 보면 마지막에 var1이 0일 때, echo $var1이 한 번 실행된 후, (( $var1 > 0 ))을 검사해서 종료된 것을 볼 수 있습니다.... shell scriptshell script [shell script] 파일의 최신 파일 여부 비교 파일의 최신(수정도 포함) 여부를 비교하는 구문은 -nt, -ot가 있습니다. 비교 구문 설명 file1 -nt file2 file1이 file2 보다 최신 파일인지 file1 -ot file2 file1이 file2 보다 오래된 파일인지... shell scriptshell script [shell script] AND, OR 연산자를 이용한 if문 조건문 if문의 조건문은 AND(&&), OR(||)을 이용해서 두 가지 이상의 조건문을 검사할 수 있습니다. && 활용하기 || 활용하기... shell scriptshell script [shell script] 이중 괄호, 이중 대괄호 이중 괄호와 이중 대괄호를 이용해 수식과 문자열에 대한 계산을 수행할 수 있습니다. 이중 괄호 안에 수식을 쓰면 수식이 계산됩니다. **는 제곱을 의미합니다. 이중 괄호를 이용하면 if문에서 -gt, -le 와 같은 가독성이 떨어지는 숫자 비교 대신 기호를 활용할 수 있게 됩니다. 이중 대괄호 기능은 bash 쉘에서 동작합니다. 이중 대괄호는 문자열의 비교를 위해 사용됩니다. 예를 들어, 아... shell scriptshell script [shell script] case 사용법 shell scriptshell script [shell script] for문에서 문자열 반복 for문의 반복 파라미터로 문자열이 온다면 띄어쓰기를 기준으로 반복됩니다. for문을 이용할 때 문자열을 띄어쓰기를 기준으로 반복시킬 수 있습니다. 특수 문자가 들어간 경우, 문자열 2개를 묶고 싶을 경우, 큰따옴표(")를 이용해 감싸주어 구분합니다.... shell scriptshell script [shell script] for문에서 파일의 문자열 반복 먼저 states라는 파일을 만들고 아래의 내용을 입력합니다. 그리고 states 파일의 내용을 띄어쓰기를 기준으로 반복하며 출력해보겠습니다.... shell scriptshell script [shell script] 내부 필드 분리자(IFS) 각 데이터를 어떤 것을 기준으로 구분할 것인가 : IFS IFS(Internal Field Separator)는 특수한 환경 변수로 bash 쉘이 필드 구분자로 사용하는 문자의 목록을 정의합니다. 기본값은 빈 칸입니다. 그래서 아래와 같이 states 파일의 내용을 작성하고, 아래의 스크립트를 실행해보면, 결과값이 다르게 나오는 것을 확인할 수 있습니다. 궁극적으로 원하는 것은 줄바꿈을 기준... shell scriptshell script [shell script] for문으로 디렉토리 내 파일들 하나씩 읽기 와일드카드를 이용해 디렉토리 내의 파일 리스트를 for문을 이용해 순서대로 조회할 수 있습니다. 아래의 형식을 통해 파일 경로 내의 파일들을 하나씩 조회할 수 있습니다. 이를 활용해서 해당 파일 경로 내의 파일을 하나씩 조회하면서 파일/디렉토리의 경우를 분류해서 echo 처리해보겠습니다. TIP 파일 경로를 적어줄 때 2개 이상의 파일 경로를 지정하기 위해서는 for 변수 in 파일경로1/*... shell scriptshell script [shell script] C언어 방식의 for문 작성법 스크립트에서는 이중 괄호를 이용해 for문을 사용할 수 있습니다. 스크립트에서는 수식을 계산할 때 또는 비교 조건문에서 등호를 사용하기 위해 이중 괄호를 사용합니다. for문에서도 역시 이중 괄호를 사용하여 C언어 방식으로 사용할 수 있습니다.... shell scriptshell script [shell script] 하나의 for문에서 여러 인덱스 변수 사용하기 for문의 인덱스 변수는 여러 개를 사용할 수도 있습니다. 아래와 같이 쉼표(,)로 구분해 여러 개의 인덱스 변수를 사용할 수 있습니다.... shell scriptshell script [shell script] until 문 until문은 while문과 반대로 조건이 거짓일 때 do~done 사이의 명령어를 반복합니다. 예를 들어, 인덱스 변수가 0이 되기 전까지 계속 반복하는 스크립트를 작성하면 아래와 같습니다.... shell scriptshell script [shell script] break, continue break : break를 읽은 시점에서 바로 break가 속해 있는 반복문을 종료 continue : continue를 읽은 시점에서 그 아래로의 코드는 스킵하고 다음 반복 진행 예를 들어, 0부터 10까지 커지는 인덱스 내에서 인덱스가 5일 때 각각 break와 continue를 써보면 차이가 극명히 드러납니다. 위와 같이 i = 5일 때 break를 만나면 for문을 아예 종료시켜버립니... shell scriptshell script [shell script] 이중 for문에서 break, continue를 이용해 바깥쪽 루프를 종료/스킵 하는 법 break는 break가 속해 있는 반복문을 종료합니다. j = 2일 때, break를 만나면 j를 돌리는 for문이 완전히 종료되어 뒤에 j = 3, 4의 경우를 실행하지 않습니다. 바깥의 i를 돌리는 for문에는 영향이 전혀 없습니다. 하지만 여기서 바깥쪽 i를 돌리는 for문을 종료하는 방법이 있습니다. n의 기본값은 1로 현재 속해 있는 루프를 나타냅니다. 숫자가 하나씩 증가할 때마다... shell scriptshell script Push_Swap 테스트 쉘 스크립트 push_swap 프로그램을 구현하는 과정에서 필요한 테스트 쉘 스크립트 파일을 작성해보았다. push_swap 프로그램은 최소 2개의 인자부터 수많은 인자들이 존재할 경우에도 정상적으로 동작해야한다. 그러기 위해서는 각 인자의 개수마다 경우의 수를 따져보고 테스트를 빈번하게 수행해야한다. 테스트하는 과정에서 일일히 인자를 기입하는 것이 정말 귀찮을 것이다. 그래도 조금이나마 작업 시간을 절... reverse rotatecheckerrotateswapshell scriptpush_swappushchecker [Linux] Logrotate를 이용하여 로그 관리하기 이후 systemd-journald 데몬은 /run/log/journal 디렉토리에 모든 로그를 저장한 파일인 저널(journal) 데이터 파일 생성하고, 저장한 로그 중에서 syslog 형태의 로그를 rsyslogd로 전달 rsyslogd에 의해 수집되는 로그는 /var/log 디렉토리에 각 syslog에 해당하는 로그 파일들을 생성하고 저장 /var/log/messages: 대부분의 로그... awsshell scriptlinuxaws
[shell script] while 문 while문은 뒤에 나오는 조건문이 참이면 do~done 사이의 명령어를 실행하는 반복문입니다. while 문에 여러 명령을 사용할 수도 있습니다. 가장 마지막 명령이 반복이 종료하기 위해 검사하는 조건문입니다. 출력을 보면 마지막에 var1이 0일 때, echo $var1이 한 번 실행된 후, (( $var1 > 0 ))을 검사해서 종료된 것을 볼 수 있습니다.... shell scriptshell script [shell script] 파일의 최신 파일 여부 비교 파일의 최신(수정도 포함) 여부를 비교하는 구문은 -nt, -ot가 있습니다. 비교 구문 설명 file1 -nt file2 file1이 file2 보다 최신 파일인지 file1 -ot file2 file1이 file2 보다 오래된 파일인지... shell scriptshell script [shell script] AND, OR 연산자를 이용한 if문 조건문 if문의 조건문은 AND(&&), OR(||)을 이용해서 두 가지 이상의 조건문을 검사할 수 있습니다. && 활용하기 || 활용하기... shell scriptshell script [shell script] 이중 괄호, 이중 대괄호 이중 괄호와 이중 대괄호를 이용해 수식과 문자열에 대한 계산을 수행할 수 있습니다. 이중 괄호 안에 수식을 쓰면 수식이 계산됩니다. **는 제곱을 의미합니다. 이중 괄호를 이용하면 if문에서 -gt, -le 와 같은 가독성이 떨어지는 숫자 비교 대신 기호를 활용할 수 있게 됩니다. 이중 대괄호 기능은 bash 쉘에서 동작합니다. 이중 대괄호는 문자열의 비교를 위해 사용됩니다. 예를 들어, 아... shell scriptshell script [shell script] case 사용법 shell scriptshell script [shell script] for문에서 문자열 반복 for문의 반복 파라미터로 문자열이 온다면 띄어쓰기를 기준으로 반복됩니다. for문을 이용할 때 문자열을 띄어쓰기를 기준으로 반복시킬 수 있습니다. 특수 문자가 들어간 경우, 문자열 2개를 묶고 싶을 경우, 큰따옴표(")를 이용해 감싸주어 구분합니다.... shell scriptshell script [shell script] for문에서 파일의 문자열 반복 먼저 states라는 파일을 만들고 아래의 내용을 입력합니다. 그리고 states 파일의 내용을 띄어쓰기를 기준으로 반복하며 출력해보겠습니다.... shell scriptshell script [shell script] 내부 필드 분리자(IFS) 각 데이터를 어떤 것을 기준으로 구분할 것인가 : IFS IFS(Internal Field Separator)는 특수한 환경 변수로 bash 쉘이 필드 구분자로 사용하는 문자의 목록을 정의합니다. 기본값은 빈 칸입니다. 그래서 아래와 같이 states 파일의 내용을 작성하고, 아래의 스크립트를 실행해보면, 결과값이 다르게 나오는 것을 확인할 수 있습니다. 궁극적으로 원하는 것은 줄바꿈을 기준... shell scriptshell script [shell script] for문으로 디렉토리 내 파일들 하나씩 읽기 와일드카드를 이용해 디렉토리 내의 파일 리스트를 for문을 이용해 순서대로 조회할 수 있습니다. 아래의 형식을 통해 파일 경로 내의 파일들을 하나씩 조회할 수 있습니다. 이를 활용해서 해당 파일 경로 내의 파일을 하나씩 조회하면서 파일/디렉토리의 경우를 분류해서 echo 처리해보겠습니다. TIP 파일 경로를 적어줄 때 2개 이상의 파일 경로를 지정하기 위해서는 for 변수 in 파일경로1/*... shell scriptshell script [shell script] C언어 방식의 for문 작성법 스크립트에서는 이중 괄호를 이용해 for문을 사용할 수 있습니다. 스크립트에서는 수식을 계산할 때 또는 비교 조건문에서 등호를 사용하기 위해 이중 괄호를 사용합니다. for문에서도 역시 이중 괄호를 사용하여 C언어 방식으로 사용할 수 있습니다.... shell scriptshell script [shell script] 하나의 for문에서 여러 인덱스 변수 사용하기 for문의 인덱스 변수는 여러 개를 사용할 수도 있습니다. 아래와 같이 쉼표(,)로 구분해 여러 개의 인덱스 변수를 사용할 수 있습니다.... shell scriptshell script [shell script] until 문 until문은 while문과 반대로 조건이 거짓일 때 do~done 사이의 명령어를 반복합니다. 예를 들어, 인덱스 변수가 0이 되기 전까지 계속 반복하는 스크립트를 작성하면 아래와 같습니다.... shell scriptshell script [shell script] break, continue break : break를 읽은 시점에서 바로 break가 속해 있는 반복문을 종료 continue : continue를 읽은 시점에서 그 아래로의 코드는 스킵하고 다음 반복 진행 예를 들어, 0부터 10까지 커지는 인덱스 내에서 인덱스가 5일 때 각각 break와 continue를 써보면 차이가 극명히 드러납니다. 위와 같이 i = 5일 때 break를 만나면 for문을 아예 종료시켜버립니... shell scriptshell script [shell script] 이중 for문에서 break, continue를 이용해 바깥쪽 루프를 종료/스킵 하는 법 break는 break가 속해 있는 반복문을 종료합니다. j = 2일 때, break를 만나면 j를 돌리는 for문이 완전히 종료되어 뒤에 j = 3, 4의 경우를 실행하지 않습니다. 바깥의 i를 돌리는 for문에는 영향이 전혀 없습니다. 하지만 여기서 바깥쪽 i를 돌리는 for문을 종료하는 방법이 있습니다. n의 기본값은 1로 현재 속해 있는 루프를 나타냅니다. 숫자가 하나씩 증가할 때마다... shell scriptshell script Push_Swap 테스트 쉘 스크립트 push_swap 프로그램을 구현하는 과정에서 필요한 테스트 쉘 스크립트 파일을 작성해보았다. push_swap 프로그램은 최소 2개의 인자부터 수많은 인자들이 존재할 경우에도 정상적으로 동작해야한다. 그러기 위해서는 각 인자의 개수마다 경우의 수를 따져보고 테스트를 빈번하게 수행해야한다. 테스트하는 과정에서 일일히 인자를 기입하는 것이 정말 귀찮을 것이다. 그래도 조금이나마 작업 시간을 절... reverse rotatecheckerrotateswapshell scriptpush_swappushchecker [Linux] Logrotate를 이용하여 로그 관리하기 이후 systemd-journald 데몬은 /run/log/journal 디렉토리에 모든 로그를 저장한 파일인 저널(journal) 데이터 파일 생성하고, 저장한 로그 중에서 syslog 형태의 로그를 rsyslogd로 전달 rsyslogd에 의해 수집되는 로그는 /var/log 디렉토리에 각 syslog에 해당하는 로그 파일들을 생성하고 저장 /var/log/messages: 대부분의 로그... awsshell scriptlinuxaws